import axios from 'axios'

const request = axios.create({
  baseURL: 'http://localhost:8080/api', // 后端接口前缀，包含context-path
  timeout: 10000,
  withCredentials: true, // 允许携带凭证（与后端的allowCredentials对应）
  headers: {
    'Content-Type': 'application/json;charset=UTF-8',
  },
})

// 响应拦截器
request.interceptors.response.use(
  (response) => {
    // 如果返回的是Result格式，直接返回其data部分
    const res = response.data
    if (res.code !== undefined) {
      if (res.code === 200) {
        return res
      } else {
        console.error('请求错误:', res.message)
        return Promise.reject(new Error(res.message || '请求失败'))
      }
    }
    return response.data
  },
  (error) => {
    console.error('网络错误:', error)
    return Promise.reject(error)
  }
)

export default request

